#ifndef DIALOG_H
#define DIALOG_H

#include <QDialog>
#include <QDebug>
#include <QMainWindow>
#include <QTcpServer>
#include <QTcpSocket>
#include <QUdpSocket>
#include <QHostAddress>
#include <QMessageBox>
#include <QTextStream>
#include <QCryptographicHash>
#include <QFileInfo>
#define UDPIP "192.168.51.255"

//QJSON类
#include <QJsonDocument>
#include <QJsonObject>
#include <QJsonArray>

#include <QFile>
#include<QTimer>
namespace Ui {
class Dialog;
}

class Dialog : public QDialog
{
    Q_OBJECT

public:
    explicit Dialog(QWidget *parent = 0);
    ~Dialog();

private:
    Ui::Dialog *ui;
    QTcpSocket * tcpSocket;//第一个tcp套接字，用于设备建立tcp
    QUdpSocket * udpSocket;//广播套接字
    QString TCPIP;//tcp服务器IP地址
    //QString TCPPORT;//tcp服务器端口号
    QTcpSocket * fileSocket;//第二个tcp套接字，用于固件升级以及文件传输
    QTcpServer *tcpServer;
    QTextStream *file;
    //QFile file; // 成员变量，可以在类内多个函数中使用
    QString filePath;//文件路径
private slots:
     void btnBroadcastSlot();
     void udpRecvSlot();
     void onConnected();
     void btnBroadcastSlot2();
     void tcpRecvSlot();
     void onConnected2();
     //void fileRecvSlot();
};

#endif // DIALOG_H
